
public enum Direccion 
{
	izquierda (-1, 0),
	derecha (1, 0),
	arriba (0,-1),
	abajo (0,1);
	
	private int x;
	private int y;
	
	Direccion( int x, int y)
	{
		this.x = x;
		this.y = y;
	}
	
	public Direccion inverso() {
		switch (this) {
		case izquierda: return derecha;
		case derecha: return izquierda;
		case arriba: return abajo;
		case abajo: return arriba;
		default: return arriba;
		}
	}
	
	public static Direccion getDireccion(int x, int y) {
		if (x==-1 && y==0) return izquierda;
		else if (x==1 && y==0) return derecha;
		else if (x==0 && y==-1) return arriba;
		else if (x==0 && y==1) return abajo;
		else return derecha;
	}
	
	
	int X()
	{
		return x;
	}
	int Y()
	{
		return y;
	}
}
